package tantan.mokuai4.homework;

import java.io.*;
import java.net.Socket;

public class TheClient {

    public static void main(String[] args) {

//    （1）创建Socket类型的对象并提供服务器的IP地址和端口号；
        Socket s = null;
        try {
            s = new Socket("127.0.0.1",6666);
        } catch (IOException e) {
            e.printStackTrace();
        }
//    （2）使用输入输出流进行通信；
//        创建User类的对象
        User user = new User("admin","123456");
//        创建UserMessage类的对象
        UserMessage um = new UserMessage(null,user);
//        创建对象输出流与C:\file test\a.txt关联输出UserMessage的对象
        ObjectOutputStream oos = null;
        try {
            oos = new ObjectOutputStream(new FileOutputStream("C:\\file test\\a.txt"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            oos.writeObject(um);
            System.out.println("数据发送成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
//        客户端接收到服务器发来的对象后判断并给出登录成功或者失败的提示。
//        创建输入流与"C:\\file test\\b.txt"相关联
        ObjectInputStream ois = null;
        try {
            ois = new ObjectInputStream(new FileInputStream("C:\\file test\\b.txt"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        UserMessage um1 = null;
        try {
            um1 = (UserMessage)ois.readObject();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        if(um1.getType().equals("success")){
            System.out.println("登录成功！");
        }else{
            System.out.println("登录失败！");
        }
//    （3）关闭Socket；
        if(null != s){
            try {
                s.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        if(null != oos){
            try {
                oos.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        if(null != ois){
            try {
                ois.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}
